package com.ruoyi.es.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import org.dromara.easyes.annotation.rely.FieldType;

import java.util.Date;

@Data
@IndexName
public class EsDeviceInfo {
    @IndexId
    private String id;

    private Long deviceId;

    private Long deptId;

    private String deviceCode;
    /** 计量方式(0: 计热 1:计冷) */
    private Integer deviceMode;


    /** 信号强度 */
    private Integer deviceRSSI;
    /** 电池电压 */
    private Float deviceVoltage;
    /** 设备累计流量 热量表为L 阀门单位分钟*/
    private Long deviceTotalData;
    /** 设备瞬时流量 单位为L*/
    private Long deviceCurrentData;
    /** NB阀门 上月使用NB阀门单位分钟 */
    private Long deviceLastData;
    /** NB热表：结算日热量 */
    private Double deviceData1;
    /** NB热表：累积热量 */
    private Double deviceData2;
    /** NB热表：热功率 */
    private Double deviceData3;
    /** NB热表：进水温度 */
    private Double deviceData4;
    /** NB热表：回水温度 */
    private Double deviceData5;
    /** NB热表：累积冷量 */
    private Double deviceData10;
    /** NB热表：当前热量/冷量 */
    private Double deviceData11;
    /** NB阀门：进水温度 */
    private Double deviceData23;
    /** NB阀门：回水温度 */
    private Double deviceData24;
    /** NB阀门：阀门开度 */
    private Double deviceData25;
    /** 阀门状态 0 无阀控 1开-合 2 关-断 3 异常 4 漏气 5 比率开阀 */
    private Double valveStatus;
    /** 电池状态 0 正常 1 欠压 3异常 */
    private Integer voltageStatus;
    /** NB热表：安装方式 0进水，1回水 */
    private Integer deviceStatus1;
    /** NB热表：水流方向 0正向，1反向
     *  NB阀门：进水突变 0正常，1报警*/
    private Integer deviceStatus2;
    /** NB热表：无线状态 0正常，1故障
     *  NB阀门：回水突变 0正常，1报警*/
    private Integer deviceStatus3;
    /** NB阀门：温度传感器 0正常，1异常*/
    private Integer deviceStatus4;
    /** NB热表：温差 0入大于出，1入小于出
     *  NB阀门：温度状态 0正常，1异常*/
    private Integer deviceStatus5;
    /** NB热表：空管 0有水，1无水 */
    private Integer deviceStatus6;
    /** NB热表：温度错误 0正常，1错误
     *  NB阀门：断线报警 0正常，1报警*/
    private Integer deviceStatus7;
    /** NB热表：温度报警 0正常，1移动报警，2突变报警，3突变移动报警
     *  NB阀门：震动报警 0正常，1报警*/
    private Integer deviceStatus8;
    /** 外部编码	string,第三方系统用户唯一编码 */
    private String externalCode;
    /** NB阀门结算时长	NB阀门单位分钟 */
    private Integer deviceSettleDayData;
    @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /** 设备时钟 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deviceClock;
}
